home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / PROGRAMR / OLE2BOOK.ZIP / CHAP05.ZIP / CHAP05 / SMASHER / WFEXT.H < prev   
C/C++ Source or Header  |  1993-03-16  |  4KB  |  123 lines

  1. /*****************************************************************************\
  2. *                                                                             *
  3. * wfext.h -     Windows File Manager Extensions definitions                   *
  4. *                                                                             *
  5. *               Version 3.10                                                  *                   *
  6. *                                                                             *
  7. *               Copyright (c) 1991-1992, Microsoft Corp. All rights reserved. *
  8. *                                                                             *
  9. *******************************************************************************/
  10.  
  11. #ifndef _INC_WFEXT
  12. #define _INC_WFEXT    /* #defined if wfext.h has been included */
  13.  
  14. #ifndef CALLBACK
  15. #define CALLBACK    FAR PASCAL
  16. #endif
  17.  
  18. #ifndef RC_INVOKED
  19. #pragma pack(1)         /* Assume byte packing throughout */
  20. #endif
  21.  
  22. #ifdef __cplusplus
  23. extern "C" {            /* Assume C declarations for C++ */
  24. #endif  /* __cplusplus */
  25.  
  26. #define MENU_TEXT_LEN       40
  27.  
  28. #define FMMENU_FIRST        1
  29. #define FMMENU_LAST     99
  30.  
  31. #define FMEVENT_LOAD        100
  32. #define FMEVENT_UNLOAD      101
  33. #define FMEVENT_INITMENU    102
  34. #define FMEVENT_USER_REFRESH    103
  35. #define FMEVENT_SELCHANGE   104
  36.  
  37. #define FMFOCUS_DIR     1
  38. #define FMFOCUS_TREE        2
  39. #define FMFOCUS_DRIVES      3
  40. #define FMFOCUS_SEARCH      4
  41.  
  42. #define FM_GETFOCUS     (WM_USER + 0x0200)
  43. #define FM_GETDRIVEINFO     (WM_USER + 0x0201)
  44. #define FM_GETSELCOUNT      (WM_USER + 0x0202)
  45. #define FM_GETSELCOUNTLFN   (WM_USER + 0x0203)  /* LFN versions are odd */
  46. #define FM_GETFILESEL       (WM_USER + 0x0204)
  47. #define FM_GETFILESELLFN    (WM_USER + 0x0205)  /* LFN versions are odd */
  48. #define FM_REFRESH_WINDOWS  (WM_USER + 0x0206)
  49. #define FM_RELOAD_EXTENSIONS    (WM_USER + 0x0207)
  50.  
  51. typedef struct tagFMS_GETFILESEL
  52. {
  53.     WORD wTime;
  54.     WORD wDate;
  55.     DWORD dwSize;
  56.     BYTE bAttr;
  57.     char szName[260];               /* always fully qualified */
  58. } FMS_GETFILESEL, FAR *LPFMS_GETFILESEL;
  59.  
  60. typedef struct tagFMS_GETDRIVEINFO       /* for drive */
  61. {
  62.     DWORD dwTotalSpace;
  63.     DWORD dwFreeSpace;
  64.     char szPath[260];       /* current directory */
  65.     char szVolume[14];      /* volume label */
  66.     char szShare[128];      /* if this is a net drive */
  67. } FMS_GETDRIVEINFO, FAR *LPFMS_GETDRIVEINFO;
  68.  
  69. typedef struct tagFMS_LOAD
  70. {
  71.     DWORD dwSize;               /* for version checks */
  72.     char  szMenuName[MENU_TEXT_LEN];    /* output */
  73.     HMENU hMenu;                /* output */
  74.     WORD  wMenuDelta;                       /* input */
  75. } FMS_LOAD, FAR *LPFMS_LOAD;
  76.  
  77. typedef DWORD (CALLBACK *FM_EXT_PROC)(HWND, WORD, LONG);
  78. typedef DWORD (CALLBACK *FM_UNDELETE_PROC)(HWND, LPSTR);
  79.  
  80. #ifndef RC_INVOKED
  81. #pragma pack()          /* Revert to default packing */
  82. #endif
  83.  
  84. #ifdef __cplusplus
  85. }       /* extern "C" { */
  86. #endif  /* __cplusplus  */
  87.  
  88. #endif  /* _INC_WFEXT   */
  89.  
  90.  
  91. //Windows for Workgroups Extensions
  92. typedef struct tagEXT_BUTTON
  93. {
  94.     WORD idCommand;            /* menu command to trigger */
  95.     WORD idsHelp;            /* help string ID */
  96.     WORD fsStyle;            /* button style */
  97. } EXT_BUTTON, FAR *LPEXT_BUTTON;
  98.  
  99.  
  100. #define TBSTYLE_SEP    0x0001        /* this slot is a separator */
  101.                                 /* all other bits are reserved and MBZ */
  102.  
  103.  
  104. #define FMEVENT_TOOLBARLOAD 105
  105.  
  106. typedef struct tagFMS_TOOLBARLOAD
  107. {
  108.     DWORD dwSize;            /* for version checks */
  109.     LPEXT_BUTTON lpButtons; /* output */
  110.     WORD cButtons;            /* output, 0==>no buttons */
  111.     WORD cBitmaps;            /* output, number of non-sep buttons */
  112.     WORD idBitmap;            /* output */
  113. } FMS_TOOLBARLOAD, FAR *LPFMS_TOOLBARLOAD;
  114.  
  115. #define FMEVENT_HELPSTRING    106
  116.  
  117. typedef struct tagFMS_HELPSTRING
  118. {
  119.     int idCommand;            /* input, -1==>the menu was selected */
  120.     HMENU hMenu;            /* input, the extensions menu */
  121.     char szHelp[128];        /* output, the help string */
  122. } FMS_HELPSTRING, FAR *LPFMS_HELPSTRING;
  123.